package game;
import java.util.List;


/**
 * The Interface PlayerItc.
 * 
 */
public interface PlayerItc {
	
	/**
	 * Gets the player total money.
	 * Doesn't do anything to the amount of the money
	 *
	 * @return the player total money
	 */
	public double getPlayerTotalMoney();
	
	/**
	 * Gets the next move.
	 * The Most interesting Function that gets your cards and the dealer card and returns the move
	 * Be-careful case program assumes all moves are legal so for instance, don't do doubles or splits if you don't have the money
	 * Etc. Again, ONLY LEGAL MOVES (According to cards, and money)
	 * But don't be afraid to get bust cause the program wont ask for your move if your over 21
	 *
	 * @param playersCards the players cards Always assume bellow 21 and ace is 11 unless your over 21 then ace becomes 1
	 * @param dealerCard the dealer card
	 * @return the next move in a form of a char as either 'H' 'D' 'S' 'P' (Don't send 'DS', u need to figure out just to send 'D' or 'S')
	 */
	public char getNextMove(List<Card> playersCards ,Card dealerCard, boolean playerHasOnlyTwoCards);
	
	
	/**
	 * Gets the bet amount.
	 * Doesn't do anything to the amount of the bet (Fixed bet thats set of initialize)
	 *
	 * @return the bet amount
	 */
	public double getBetAmount();
	
	/**
	 * Make bet.
	 * Actually remove the amount of the bet from the total money pool
	 *
	 * @param amount the amount of the bet (don't think where it comes from and also knows its legal)
	 */
	public void makeBet(double amount);
	
	/**
	 * Adds the winnings to the total money pool.
	 *
	 * @param amount the amount (again, legal input)
	 */
	public void addWinnings(double amount);
	
}
